H2 এর সাথে Hibernate Integration

Database Tutorials - এইচ২ ডাটাবেস (H2 Database) H2 Database এর সাথে অন্যান্য টুলস ইন্টিগ্রেশন |
255
255

Hibernate হল একটি শক্তিশালী Object-Relational Mapping (ORM) ফ্রেমওয়ার্ক, যা Java অ্যাপ্লিকেশনের জন্য ডেটাবেসের সাথে সংযোগ স্থাপন এবং ডেটাবেস অপারেশনগুলো সহজ করে তোলে। Hibernate ডেটাবেস অপারেশনগুলো Java objects এর মাধ্যমে সম্পাদনা করে, যার ফলে ডেটাবেসের জন্য SQL কোড লেখার প্রয়োজন হয় না। H2 Database একটি হালকা, ইন-মেমরি ডেটাবেস, যা Java অ্যাপ্লিকেশনের সাথে সহজে ইন্টিগ্রেট করা যায়। H2 ডেটাবেসটি Hibernate এর সাথে ভালোভাবে কাজ করে, এবং এটি ছোট প্রকল্প, টেস্টিং, বা ডেভেলপমেন্ট পরিবেশে ব্যবহৃত হতে পারে।

এখানে H2 Database এবং Hibernate এর ইন্টিগ্রেশন করার ধাপগুলো ব্যাখ্যা করা হলো।


H2 Database এবং Hibernate ইন্টিগ্রেট করার জন্য প্রয়োজনীয় কনফিগারেশন

১. প্রোজেক্টে Hibernate এবং H2 ডিপেনডেন্সি যোগ করা

প্রথমে আপনার Maven বা Gradle প্রকল্পে Hibernate এবং H2 ডিপেনডেন্সি যোগ করতে হবে।

Maven এর জন্য:

<dependencies>
    <!-- H2 Database Dependency -->
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>1.4.200</version>
    </dependency>

    <!-- Hibernate Core Dependency -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.6.7.Final</version>
    </dependency>

    <!-- Hibernate Validator Dependency -->
    <dependency>
        <groupId>org.hibernate.validator</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>6.2.0.Final</version>
    </dependency>
</dependencies>

Gradle এর জন্য:

dependencies {
    implementation 'com.h2database:h2:1.4.200'
    implementation 'org.hibernate:hibernate-core:5.6.7.Final'
    implementation 'org.hibernate.validator:hibernate-validator:6.2.0.Final'
}

২. Hibernate কনফিগারেশন ফাইল (hibernate.cfg.xml)

Hibernate কনফিগারেশন ফাইল hibernate.cfg.xml এ H2 ডেটাবেসের সংযোগের তথ্য প্রদান করতে হবে। এই ফাইলটি সাধারনত src/main/resources ফোল্ডারে রাখা হয়।

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!-- JDBC Database connection settings -->
        <property name="hibernate.dialect">org.hibernate.dialect.H2Dialect</property>
        <property name="hibernate.connection.driver_class">org.h2.Driver</property>
        <property name="hibernate.connection.url">jdbc:h2:~/test;AUTO_SERVER=TRUE</property>
        <property name="hibernate.connection.username">sa</property>
        <property name="hibernate.connection.password"></property>
        
        <!-- Specify the JDBC driver used -->
        <property name="hibernate.hbm2ddl.auto">update</property> <!-- update, create, create-drop -->
        <property name="hibernate.show_sql">true</property> <!-- Show SQL queries in console -->

        <!-- Drop and re-create the database on startup -->
        <property name="hibernate.dialect">org.hibernate.dialect.H2Dialect</property>
        
        <!-- Enable Hibernate's automatic session context management -->
        <property name="hibernate.current_session_context_class">thread</property>
        
        <!-- Echo all executed SQL to stdout -->
        <property name="hibernate.format_sql">true</property>
        
        <!-- Disable the second-level cache -->
        <property name="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

        <!-- Drop the database schema when the session factory is closed -->
        <property name="hibernate.hbm2ddl.auto">update</property>
    </session-factory>
</hibernate-configuration>

এই কনফিগারেশনে:

  • hibernate.connection.url: H2 ডেটাবেসের URL, যেখানে ~/test হল ডেটাবেসের লোকেশন।
  • hibernate.connection.username: H2 ডেটাবেসের ইউজারনেম (ডিফল্ট ইউজারনেম হল sa)।
  • hibernate.connection.password: পাসওয়ার্ড (যদি থাকে)।

৩. Entity Class তৈরি করা

Hibernate ব্যবহার করতে হলে আপনাকে Entity Class তৈরি করতে হবে, যা ডেটাবেসের টেবিলের সাথে ম্যাপ হবে। এই ক্লাসে আপনাকে JPA annotations ব্যবহার করতে হবে, যেমন @Entity, @Id, এবং @Column

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Column;

@Entity
public class User {
    @Id
    private int id;

    @Column(name = "name")
    private String name;

    // Getters and setters
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

৪. Hibernate SessionFactory তৈরি করা

Hibernate এর SessionFactory তৈরি করতে হবে, যা ডেটাবেসের সাথে সংযোগ স্থাপন করবে এবং Session তৈরি করবে।

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {
    private static SessionFactory factory;

    static {
        // Creating SessionFactory object
        factory = new Configuration().configure("hibernate.cfg.xml").addAnnotatedClass(User.class).buildSessionFactory();
    }

    public static Session getSession() {
        return factory.getCurrentSession();
    }

    public static void close() {
        factory.close();
    }
}

৫. Hibernate ব্যবহার করে ডেটা সংযোগ করা

ডেটাবেসে ডেটা সন্নিবেশ, আপডেট বা ডিলিট করার জন্য Hibernate ব্যবহার করতে পারেন।

public class Main {
    public static void main(String[] args) {
        // Get session
        Session session = HibernateUtil.getSession();

        try {
            // Create new User object
            User user = new User();
            user.setId(1);
            user.setName("John Doe");

            // Start a transaction
            session.beginTransaction();

            // Save the User object
            session.save(user);

            // Commit the transaction
            session.getTransaction().commit();

        } finally {
            // Clean up code
            HibernateUtil.close();
        }
    }
}

৬. Hibernate এর সাথে H2 ডেটাবেসের কার্যকারিতা

  • SessionFactorySession ব্যবহার করে ডেটাবেসে CRUD (Create, Read, Update, Delete) অপারেশন চালানো যায়।
  • H2 ডেটাবেসের সাথে Hibernate ইন্টিগ্রেট করে ডেটাবেস অপারেশন আরও সহজ হয়, কারণ Hibernate SQL কোড তৈরি করে এবং JPA (Java Persistence API) এর মাধ্যমে ডেটাবেস পরিচালনা করে।

সারাংশ

Hibernate এবং H2 Database এর ইন্টিগ্রেশন করা খুবই সহজ। Hibernate-এ H2 ডেটাবেসের সাথে কাজ করার জন্য আপনাকে hibernate.cfg.xml কনফিগারেশন ফাইল সেট আপ করতে হবে, H2 ডেটাবেসের জন্য JDBC URL, ইউজারনেম, পাসওয়ার্ড কনফিগার করতে হবে, এবং Entity ক্লাস তৈরি করতে হবে যা ডেটাবেসের টেবিলের সাথে ম্যাপ করবে। Hibernate ব্যবহার করলে SQL কোড লেখার প্রয়োজন নেই, কারণ Hibernate আপনার জন্য সমস্ত SQL জেনারেট করে, যা ডেটাবেসের সাথে কাজ করতে সহায়ক।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion